package com.iman.manjusri.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.iman.common.util.DateUtils;
import com.iman.manjusri.mappers.DrmSalesPromotionMapper;
import com.iman.manjusri.mappers.models.DrmSalesPromotion;
import com.iman.manjusri.mappers.models.DrmSalesPromotionExample;
import com.iman.manjusri.service.SalesPromotionsService;
import com.iman.manjusri.vo.SalesPromotionVo;

/*
 * *************************************************************************
 * @文件名称: SalesPromotionsServiceImpl.java
 *
 * @包路径  : com.iman.manjusri.service.impl 
 *				 
 * @版权所有:   TSW   科技有限公司 (C) 2014
 *
 * @类描述:  
 * 
 * @创建人:   wangxiaolei  
 *
 * @创建时间: 2015年3月15日 - 下午3:51:38 
 *
 * @修改记录:
   -----------------------------------------------------------------------------------------------
             时间						|		修改人		|		修改的方法		|		修改描述                                                                
   -----------------------------------------------------------------------------------------------
							|					|					|                                       
   ----------------------------------------------------------------------------------------------- 	
 
 **************************************************************************
 */
@Service
public class SalesPromotionsServiceImpl implements SalesPromotionsService{
	@Autowired
	private  DrmSalesPromotionMapper  drmSalesPromotionMapper;
	
	
	/**
	 * 获取当前可以使用的 
	 */
	@Override
	public List<SalesPromotionVo> getPromotions() {

		DrmSalesPromotionExample dpe = new DrmSalesPromotionExample();
		
		dpe.createCriteria().andUseYnEqualTo(1).andPromotionSdtLessThanOrEqualTo(DateUtils.getCurrentDateTime())
		.andPromotionEdtGreaterThanOrEqualTo( DateUtils.getCurrentDateTime() );
		
		List<DrmSalesPromotion> promotions = drmSalesPromotionMapper.selectByExample(dpe);
		
		List<SalesPromotionVo> result = new ArrayList<SalesPromotionVo>();
		if(promotions !=null ){
			//找到一个最大的优惠
			for(DrmSalesPromotion dp:promotions){
				if(dp !=null &&  dp.getUseYn().intValue()==1 && dp.getReduceMoney().intValue()>0){
					SalesPromotionVo vo = new SalesPromotionVo();
					//结束时间
					vo.endTime =(dp.getPromotionEdt().getTime()+"");
					//开始时间
					vo.startTime = ( dp.getPromotionSdt().getTime()+"");
					//打折的百分比  或者  价格 元  
					vo.reduce = ( dp.getReduceMoney().intValue());
					//满多少钱
					vo.money = dp.getPromotionMoney().intValue();
					//类型
					vo.type = (dp.getPromotionTp());
					
					result.add(vo);
				}
			}
		}
		
		return result;
	}

}
